package com.wcz.code.util;

import java.util.Calendar;
import java.util.HashMap;
import java.util.Map;

import com.alibaba.fastjson.JSON;
import com.google.gson.Gson;

/**
 * @author 伪尘子
 *
 * 2012-6-19
 */
public class JSONHelper {
	private static short fastjson=1;
	private static short gson=2;
	private static short jsonversion=fastjson;
	
	/**
	 * fastjson方案将json字符串反序列化为Java对象
	 * @param json
	 * @return
	 */
	public static <T> T fastjson_parseJSON(String json,Class<T> type){
		return JSON.parseObject(json, type);
	}
	
	/**
	 * gson方案将json字符串反序列化为Java对象
	 * @param json
	 * @param type
	 * @return
	 */
	public static <T> T gson_parseJSON(String json,Class<T> type){
		Gson gson=new Gson();
		return gson.fromJson(json, type);
	}
	
	/**
	 * 选择使用
	 * @param json
	 * @param type
	 * @return
	 */
	public static <T> T parseJSON(String json,Class<T> type){
		if(jsonversion==fastjson){
			return fastjson_parseJSON(json,type);
		}
		else if(jsonversion==gson){
			return gson_parseJSON(json,type);
		}
		return null;
	}
	
	/**
	 * @param args
	 */
	public static void main(String[] args) {
//		
//		String json="{\"year\":2012}";
//		Map map=parseJSON(json,Map.class);
//		System.out.println(map);
	}
	
	
}
